Binary Trees Implementations Comparison for Multicore Programming
نویسنده
چکیده
Although there are a lot of optimized concurrent algorithms for lists, queues, stacks, hash tables and other common data structures, there are much fewer optimized concurrent Binary Search Trees implementations. This paper compares several concurrent implementations of Binary Search Tree. The implementations are also compared to a concurrent skip list, which is the general way to implement a concurrent set or map. All the data structures are implemented in C++ using Hazard Pointers to manage memory. The different implementations are compared using several measures to determine the best performing structures in different situations. The benchmark shows that some data Binary Search Tree implementations are performing much better than the concurrent skip list base implementation. The optimistic AVL Tree that has been tested is shown to be performing very well. Baptiste Wicht Computer Science Master degree Switzerland HES-SO University of applied science Baptiste Wicht 1 of 69 June 7, 2012
منابع مشابه
Chapter 1 Low Pain vs No Pain Multi - core Haskells
Multicores are becoming the dominant processor technology and functional languages are theoretically well suited to exploit them. In practice, however, implementing effective high level parallel functional languages is extremely challenging. This paper is the first programming and performance comparison of functional multicore technologies and reports some of the first ever multicore results fo...
متن کاملArchitecture aware parallel programming in Glasgow parallel Haskell (GPH)
General purpose computing architectures are evolving quickly to become manycore and hierarchical: i.e. a core can communicate more quickly locally than globally. To be effective on such architectures, programming models must be aware of the communications hierarchy. This thesis investigates a programming model that aims to share the responsibility of task placement, load balance, thread creatio...
متن کاملLong DNA Sequence Comparison on Multicore Architectures
Biological sequence comparison is one of the most important tasks in Bioinformatics. Due to the growth of biological databases, sequence comparison is becoming an important challenge for high performance computing, especially when very long sequences are compared. The Smith-Waterman (SW) algorithm is an exact method based on dynamic programming to quantify local similarity between sequences. Th...
متن کاملBalancing weight-balanced trees
A weight-balanced tree (WBT) is a binary search tree, whose balance is based on the sizes of the subtrees in each node. Although purely functional implementations on a variant WBT algorithm are widely used in functional programming languages, many existing implementations do not maintain balance after deletion in some cases. The difficulty lies in choosing a valid pair of rotation parameters: o...
متن کاملComparing Low-Pain and No-Pain Multicore Haskells
Multicore and NUMA architectures are becoming the dominant processor technology and functional languages are theoretically well suited to exploit them. In practice, however, implementing effective high level parallel functional languages is extremely challenging. This paper is a systematic programming and performance comparison of four parallel Haskell implementations on a common multicore arch...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012